package com.trinity.campus.service;

import com.trinity.campus.domain.CampusSchoolOrg;

import java.util.List;
import java.util.Map;

/**
 * 学校组织机构Service接口
 *
 * @author dsp
 * @date 2024-01-18
 */
public interface ICampusSchoolOrgService {
    /**
     * 查询学校组织机构
     *
     * @param id 学校组织机构主键
     * @return 学校组织机构
     */
    public CampusSchoolOrg selectCampusSchoolOrgById(String id);

    /**
     * 查询学校组织机构列表
     *
     * @param campusSchoolOrg 学校组织机构
     * @return 学校组织机构集合
     */
    public List<CampusSchoolOrg> selectCampusSchoolOrgList(CampusSchoolOrg campusSchoolOrg);
    List<CampusSchoolOrg> buildOrgTree(List<CampusSchoolOrg> orgs);
    /**
     * 查询学校组织机构列表
     *
     * @param campusSchoolOrg 学校组织机构
     * @return 学校组织机构集合
     */
    public Map<String, List<CampusSchoolOrg>> schoolOrgOption(CampusSchoolOrg campusSchoolOrg);

    /**
     * 新增学校组织机构
     *
     * @param campusSchoolOrg 学校组织机构
     * @return 结果
     */
    public int insertCampusSchoolOrg(CampusSchoolOrg campusSchoolOrg);

    /**
     * 修改学校组织机构
     *
     * @param campusSchoolOrg 学校组织机构
     * @return 结果
     */
    public int updateCampusSchoolOrg(CampusSchoolOrg campusSchoolOrg);

    /**
     * 批量删除学校组织机构
     *
     * @param ids 需要删除的学校组织机构主键集合
     * @return 结果
     */
    public int deleteCampusSchoolOrgByIds(String[] ids);

    /**
     * 删除学校组织机构信息
     *
     * @param id 学校组织机构主键
     * @return 结果
     */
    public int deleteCampusSchoolOrgById(String id);
}
